package Day_0131.JVM;

/**
 * @author zxc
 * @date 2023/01/31 22:03
 **/
public class ObjectHead {
    public static void main(String[] args) {
        /**
         * 对象头的具体内容 ： （1.对象所对应的运行时数据;2.指针类型，指向该对象的类元信息;）
         *
         * 在我们常用的Hotspot虚拟机中，Java对象在内存中布局实际包含3个部分：
         * 1. 对象头;
         * 2. 实例数据;
         * 3. 对齐填充;
         * ===》
         * 对象头包含两部分内容，Mark Word中的内容会随着锁标志位而发生变化;
         * 1. 对象自身运行时所需的数据，
         * （1）也被称为Mark Word，也就是用于轻量级锁和偏向锁的关键点。
         * （2）具体的内容包含对象的hashcode、分代年龄、轻量级锁指针、重量级锁指针、GC标记、偏向锁线程ID、偏向锁时间戳。
         *
         * 2. 存储类型指针，
         * 也就是指向类的元数据的指针，通过这个指针才能确定对象是属于哪个类的实例。
         * 如果是数组的话，则还包含了数组的长度。
         */
    }
}
